package com.yunji.aggregate.model.dto.base;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.PageDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Project: yunji-coffee
 * @Package: com.yunji.user.params
 * @Title: BelongParam
 * <p>
 * History:
 * Date                     Version     Author          Summary
 * ============================================================
 * 2024-10-26 14:03:16      V1.0        HuaAo       新建类
 */
@Data
public class BelongParam extends PageDTO {

    @Excel(name = "所属ID", width = 15)
    @ApiModelProperty(value = "所属ID")
    private Long belongId;

    @Excel(name = "所属名称", width = 15)
    @ApiModelProperty(value = "所属名称")
    private String belongName;

    @Excel(name = "所属类型(00:平台;11:代理;13:网点)", width = 15)
    @ApiModelProperty(value = "所属类型(00:平台;11:代理;13:网点)")
    private String belongType;

    @Excel(name = "父级所属ID", width = 15)
    @ApiModelProperty(value = "父级所属ID")
    private Long parentId;

    @Excel(name = "代理模式(0:合作代理;1:自营代理)", width = 15)
    @ApiModelProperty(value = "代理模式(0:合作代理;1:自营代理)")
    private Integer agentMode;

    @Excel(name = "代理ID", width = 15)
    @ApiModelProperty(value = "代理ID")
    private Long agentId;

    @Excel(name = "网点ID", width = 15)
    @ApiModelProperty(value = "网点ID")
    private Long siteId;

    @Excel(name = "用户ID", width = 15)
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @Excel(name = "累计收益", width = 15)
    @ApiModelProperty(value = "累计收益")
    private BigDecimal earnAmount;

    @Excel(name = "提现收益", width = 15)
    @ApiModelProperty(value = "提现收益")
    private BigDecimal cashAmount;

    @Excel(name = "账户余额", width = 15)
    @ApiModelProperty(value = "账户余额")
    private BigDecimal remainAmount;

    @Excel(name = "冻结金额", width = 15)
    @ApiModelProperty(value = "冻结金额")
    private BigDecimal frozenAmount;

    @Excel(name = "退款金额", width = 15)
    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @Excel(name = "自定义价格(0:关闭;1:开启 默认:0关闭)", width = 15)
    @ApiModelProperty(value = "自定义价格(0:关闭;1:开启 默认:0关闭)")
    private Integer customPrice;

    @Excel(name = "分成类型(0:不分成;1:按交易金额;2:按交易笔数; 默认:0关闭)", width = 15)
    @ApiModelProperty(value = "分成类型(0:不分成;1:按交易金额;2:按交易笔数; 默认:0关闭)")
    private Integer scaleType;

    @ApiModelProperty(value = "库存开关(0-关闭1-开启)")
    private Integer stockStatus;

    @Excel(name = "分成比例/每笔金额", width = 15)
    @ApiModelProperty(value = "分成比例/每笔金额")
    private BigDecimal scaleRatio;

    @Excel(name = "扣除比例/扣除金额", width = 15)
    @ApiModelProperty(value = "分成比例/每笔金额")
    private BigDecimal deductRatio;

    @Excel(name = "删除状态  (0:未删除;1:已删除;)", width = 15)
    @ApiModelProperty(value = "删除状态  (0:未删除;1:已删除;)")
    private Integer delFlag;

    @ApiModelProperty("手机号")
    private String phoneNumber;

    @ApiModelProperty("所属单位Ids")
    private Long[] belongIds;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /**
     * 创建人ID
     */
    @ApiModelProperty("创建人ID")
    private Long creator;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    @ApiModelProperty("创建人名称")
    private String createName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 更新人ID
     */
    @ApiModelProperty("更新人ID")
    private Long updater;

    /**
     * 更新人名称
     */
    @Excel(name = "更新人名称")
    @ApiModelProperty("更新人名称")
    private String updateName;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("货柜数排序 0-正序 1-倒序")
    private Integer containerNumsOrder;

    @ApiModelProperty("分润比例排序 0-正序 1-倒序")
    private Integer scaleRatioOrder;

    @ApiModelProperty("钱包余额排序 0-正序 1-倒序")
    private Integer remainAmountOrder;

    @ApiModelProperty("冻结金额排序 0-正序 1-倒序")
    private Integer frozenAmountOrder;

    @ApiModelProperty("已提现金额排序 0-正序 1-倒序")
    private Integer cashAmountOrder;

    @ApiModelProperty("累计收益排序 0-正序 1-倒序")
    private Integer earnAmountOrder;

}